The present invention relates generally to electronic appliance controllers, and, more particularly, to appliance control techniques that tend to provide an accurate xe2x80x9cTime Remainingxe2x80x9d display, notwithstanding of variations in the actual time required for performing various operational modes of the appliance, such as water fill and/or drain in a washing machine.
A desirable feature in many automated appliances, such as clothes washing machines, driers, dish washers, is to provide a xe2x80x9cTime Remainingxe2x80x9d display which indicates cycle time remaining based on the state of a count down timer maintained by the controller. In a typical commercial, coin-operated laundry environment, a dryer cycle may be entirely time driven, so little difficulty is involved in maintaining an accurate xe2x80x9cTime Remainingxe2x80x9d display. The controller simply initializes the count down timer with the total cycle time, and then decrements the count down timer at regular predetermined intervals.
However, a clothes washer is both time and event driven, such that an accurate measure of cycle time remaining is more difficult to achieve. Thus, in the case of a washing machine, in order to initialize the count down timer, the control system would sum the time requirements of the various portions of the cycle, referred to herein as operational modes. By way of example, the time requirements of a full cycle may include wash water fill time, soak time, wash agitate time, wash water drain time, spin time, rinse fill time, rinse agitate time, rinse water drain time, final spin time, and pauses that may occur between some of these operational modes. The pauses may be required in certain situations in order to allow the machine to come to a complete stop upon completion of one operational mode and the commencement of another operational mode. For example, a washing machine would likely be damaged if an attempt were made to switch instantaneously from agitate mode to spin, assuming a change in motor direction is involved.
The operational mode times just mentioned are under the direct control of the controller, with the exception of fill and drain times. In particular, both the cessation of water fill and water drain are event driven rather than time driven. For example, fill time may be based on the closing of a water level sensor switch. Similarly, drain time may be based on sensing changes in the level of motor current. Thus, the actual time required to fill or drain the machine varies depending on the amount of time it takes the appliance to reach a desired condition and is known only after the water fill or drain has occurred. This prevents an accurate initializing of the count down timer and thus prevents an accurate display of time remaining in the wash cycle.
In the past, this problem has been addressed by simply stopping the timer during water filling or draining operations. However, when such an approach is employed, the displayed xe2x80x9cTime Remainingxe2x80x9d has little practical use since the operational cycle is not complete after the number of displayed minutes.
Another approach used in the context of an electronically-controlled washing machine is described in U.S. Pat. No. 5,285,545 commonly assigned and herein incorporated be reference. The invention disclosed in that patent recognizes that it is possible to adjust the length of time of the pause intervals to somewhat compensate for actual fill times which differ from the nominal fill time.
Yet another approach would be to maintain a history of each particular machine to learn the actual fill times for that particular machine. This may be accomplished using a data filtering technique whereby a running average is kept for the fill times, and running average data is used in a calculation for determining nominal fill times. Unfortunately, this approach would offer improved accuracy in estimating cycle time and thus in accurately displaying xe2x80x9cTime Remainingxe2x80x9d, only if the user operated the machine essentially under the same cycle options corresponding to the nominal times. For example, routinely washing the same level of load at the same temperature settings. This drawback arises since the nominal times could be very different from the actual times required for the different user-selectable cycle options, such as temperature settings, water level setting, etc.
Accordingly, it would be desirable to provide an appliance control system including a xe2x80x9cTime Remainingxe2x80x9d display, which is accurate notwithstanding variations in the actual time required for water filling and draining operations, and which takes into account of the specific cycle option selected by the user. It will be further desired to provide techniques that allow to decrement the time remaining display without sudden jumps or discontinuities by adjusting the duration of the time intervals at which a sequence of equally-sized decrementing steps are triggered.
Generally, the present invention fulfills the foregoing needs by providing in one aspect thereof, a method for estimating the time required to perform an operational cycle of an appliance. The cycle includes at least one operational mode whose individual duration varies depending on the time it takes the appliance to reach a desired condition. The method allows to provide memory for storing historical data of previously executed cycles of the appliance. The historical data comprises at least one appliance parameter for the at least one operational mode for each cycle option of the appliance. The method further allows to access the memory in light of a user-selected option for a present cycle. A computing action allows to compute an initial estimated time for performing the present cycle of the appliance based, at least in part, on a time estimate for the at least one operational mode. The time estimate is based on the historical appliance parameter for the at least one operational mode. The time estimate may be adjusted to correspond to the selected option for the present cycle. An actual-time determining action allows to determine the actual time used for performing at least one occurrence of the operational mode during the present cycle. A relating action allows to relate the actual time used for performing the at least one occurrence of the operational mode during the present cycle relative to the time estimate used for computing the initial estimated time for performing the present cycle of the appliance. An adjusting action allow to adjust the estimated time for performing the present cycle of the appliance in light of any differences between the actual and estimated times for the at least one operational mode.
The present invention further fulfills the foregoing needs by providing in another aspect thereof, a system for estimating the time required to perform an operational cycle of an appliance. The cycle including at least one operational mode whose individual duration varies depending on the time it takes the appliance to reach a desired condition. The system includes memory for storing historical data of previously executed cycles of the appliance. The historical data comprises at least one appliance parameter for the at least one operational mode of the appliance. A processor is coupled to the memory to access historical data therein in light of a user-selected option for a present cycle. The processor is configured to compute an initial estimated time for performing the present cycle of the appliance based, at least in part, on a time estimate for the at least one operational mode. The time estimate is based on a running average of the historical data for the at least one operational mode. A determining module is configured to determine the actual time used for performing at least one occurrence of the operational mode during the present cycle. A comparator is configured to relate the actual time used for performing the at least one occurrence of the operational mode during the present cycle relative to the time estimate used for computing the initial estimated time for performing the present cycle of the appliance. A cycle time adjuster is configured to adjust the estimated time for performing the present cycle of the appliance in light of any differences between the actual and estimated times for the at least one operational mode.
In yet another aspect thereof, the present invention provides a xe2x80x9ctime-remainingxe2x80x9d processor for an appliance. The processor includes a first register for storing an estimated value of xe2x80x9ctime-remainingxe2x80x9d for completing a present cycle as the appliance progresses through the cycle. The xe2x80x9ctime-remainingxe2x80x9d processor includes a second register for storing a presently displayed value of xe2x80x9ctime-remainingxe2x80x9d and is configured to perform the following actions:
decrementing the displayed value of xe2x80x9ctime-remainingxe2x80x9d by a sequence of steps of equal size from an initial estimate of xe2x80x9ctime-remainingxe2x80x9d based on an initial estimate for performing the present cycle;
updating the initial estimate of xe2x80x9ctime-remainingxe2x80x9d in light of any adjustments made to the initial estimated time for performing the cycle;
storing the updated estimate of xe2x80x9ctime-remainingxe2x80x9d in the first register;
in the event the value of the updated estimate of xe2x80x9ctime-remainingxe2x80x9d, as stored in the first register, substantially corresponds to the value of xe2x80x9ctime-remainingxe2x80x9d being presently displayed as stored in the second register, the sequence of equal size steps for decrementing the displayed value as stored in the second register is triggered at time intervals corresponding to the size of each decrementing step; and
in the event the value of the updated estimate of xe2x80x9ctime-remainingxe2x80x9d as stored in the first register, deviates from the value of xe2x80x9ctime-remainingxe2x80x9d being displayed as stored in the second register, the sequence of equal size steps for decrementing the displayed value as stored in the second register, is triggered at time intervals that vary relative to the size of each decrementing step, the time interval variation based on a functional relationship between the value of the updated estimate xe2x80x9ctime-remainingxe2x80x9d and the displayed value for xe2x80x9ctime-remainingxe2x80x9d and wherein the functional relationship is based on the ratio of the value of the updated estimate of xe2x80x9ctime-remainingxe2x80x9d as stored in the first register over the displayed value for xe2x80x9ctime-remainingxe2x80x9d, as stored in the second register.